1. Update(更新)操作
在ASP.NET Core中,我們可以通過控制器來實現資料更新的功能。以下是一個範例,展示了如何更新一個學生資料:
public class StudentsController : Controller
{
private readonly AppDbContext _context;
public StudentsController(AppDbContext context)
{
_context = context;
}
[HttpGet]
public IActionResult Edit(int id)
{
var student = _context.Students.Find(id);
if (student == null)
{
return NotFound();
}
return View(student);
}
[HttpPost]
public IActionResult Edit(Student student)
{
if (ModelState.IsValid)
{
_context.Students.Update(student);
_context.SaveChanges();
return RedirectToAction("Index");
}
return View(student);
}
}
在這段程式碼中,我們首先使用[HttpGet]方法來顯示編輯表單,這會查找指定ID的學生資料並顯示在編輯視圖中。然後使用[HttpPost]方法處理表單提交,更新資料庫中的學生資料並保存變更。
對應的視圖(Edit.cshtml)會使用Razor語法來顯示編輯表單:
<form asp-action="Edit" method="post">
<input type="hidden" asp-for="Id" />
<div>
<label>Name</label>
<input asp-for="Name" />
</div>
<div>
<label>Age</label>
<input asp-for="Age" />
</div>
<button type="submit">Update</button>
</form>
這段HTML表單顯示了學生的名稱和年齡字段,允許用戶修改這些資料並提交更新。
2. Delete(刪除)操作
刪除操作允許你從資料庫中移除不再需要的資料。以下是一個範例,展示了如何刪除學生資料:
[HttpPost]
public IActionResult Delete(int id)
{
var student = _context.Students.Find(id);
if (student == null)
{
return NotFound();
}
_context.Students.Remove(student);
_context.SaveChanges();
return RedirectToAction("Index");
}
這段程式碼首先查找指定ID的學生資料,如果資料存在,就使用_context.Students.Remove()方法將其從資料庫中刪除,並保存變更。
對應的視圖(Delete.cshtml)可以使用以下方式顯示刪除確認表單:
<form asp-action="Delete" method="post">
<input type="hidden" asp-for="Id" />
<div>
<p>Are you sure you want to delete this student?</p>
<button type="submit">Delete</button>
</div>
</form>
這段HTML表單顯示了一個刪除確認提示,並提供刪除按鈕。
3. 小結
在這篇文章中,我們介紹了如何在ASP.NET Core中實現基本的Update和Delete操作。這些操作讓你可以更新和刪除資料,從而更靈活地管理你的應用資料。接下來,我們將深入探討如何處理表單與驗證,進一步增強應用的功能和可靠性。